//package com.jiezhuo.controller;
//
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONObject;
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
//import com.jiezhuo.entity.Dept;
//import com.jiezhuo.entity.InkInfo;
//import com.jiezhuo.entity.InkScreen;
//import com.jiezhuo.entity.Template;
//import com.jiezhuo.entity.vo.InkVo;
//import com.jiezhuo.service.InkScreenService;
//import com.jiezhuo.service.TemplateService;
//import com.jiezhuo.utils.R;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import io.swagger.models.auth.In;
//import org.apache.http.HttpEntity;
//import org.apache.http.HttpResponse;
//import org.apache.http.client.methods.HttpPost;
//import org.apache.http.entity.StringEntity;
//import org.apache.http.impl.client.CloseableHttpClient;
//import org.apache.http.impl.client.HttpClients;
//import org.apache.http.protocol.HTTP;
//import org.apache.http.util.EntityUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.util.StringUtils;
//import org.springframework.web.bind.annotation.*;
//
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.HashMap;
//
///**
// * <p>
// *  前端控制器
// * </p>
// *
// * @author com.jiezhuo
// * @since 2022-12-23
// */
//@RestController
//@Api(tags = "电子屏设备管理")
//@RequestMapping("/ink-screen")
//public class InkScreenController {
//    @Autowired
//    InkInfo inkInfo;
//    @Autowired
//    InkScreenService inkScreenService;
//    @Autowired
//    TemplateService templateService;
//
//    @PostMapping("saveOrUpdateInk")
//    public R saveOrUpdateInk(InkScreen inkScreen){
//        String str="添加";
//        if(!StringUtils.isEmpty(inkScreen.getInkScreenId())){
//            str="修改";
//        }
//        boolean b = inkScreenService.saveOrUpdate(inkScreen);
//        if(b){
//            return R.ok().msg(str+"成功");
//        }
//        return R.err().msg("操作失败");
//    }
//    @PostMapping("delInk")
//    public R delInk(Integer id){
//        boolean b = inkScreenService.removeById(id);
//        if(b){
//            return R.ok().msg("删除成功");
//        }
//        return R.err().msg("删除失败");
//    }
//    @ApiOperation("发送数据给电子桌牌")
//    @PostMapping("setMsg")
//    public R setMsg(@RequestBody InkVo inkVo) throws IOException {
//        CloseableHttpClient httpclient = HttpClients.createDefault();
//        Template template =null;
//        InkScreen inkScreen=null;
//        if(!StringUtils.isEmpty(inkVo.getTemplateId())&& !StringUtils.isEmpty(inkVo.getDeviceId())){
//             template = templateService.getById(inkVo.getTemplateId());
//             inkScreen = inkScreenService.getById(inkVo.getDeviceId());
//             inkScreen.setData(inkVo.getData());
//        }else {
//            return R.err().msg("请输入设备id或模板id");
//        }
//        HttpPost post = new HttpPost(inkInfo.getIp()+"/user/api/login");
//        HashMap<String, String> stringStringHashMap = new HashMap<>();
//        stringStringHashMap.put("username","root");
//        stringStringHashMap.put("password","a123456");
//        Object o = JSONObject.toJSON(stringStringHashMap);
//        post.setEntity(new StringEntity(o.toString(),"UTF-8"));
//        post.addHeader("Content-Type","application/json");
//        HttpResponse httpResponse = httpclient.execute(post);
//        // 获取结果实体
//        HttpEntity entity = httpResponse.getEntity();
//        String string="";
//        JSONObject jsonObject=null;
//        if (entity != null) {
//            // 按指定编码转换结果实体为String类型
//            string = EntityUtils.toString(entity, HTTP.UTF_8);
//            jsonObject=JSON.parseObject(string);
//        }
//        JSONObject info = jsonObject.getJSONObject("data");
//        String token = info.getString("token");
//        httpclient = HttpClients.createDefault();
//        post = new HttpPost(inkInfo.getIp()+"/user/api/mqtt/publish/"+inkScreen.getMac()+"/template/"+inkVo.getTemplateId());
//        HashMap<String, Object> object = new HashMap<>();
//        object.put("tid",template.getTemplateId());
//        object.put("tname",template.getTemplateName());
//        object.put("data",JSON.parse(inkVo.getData()));
//        Object o1 = JSONObject.toJSON(object);
//        System.out.println(o1);
//        post.setEntity(new StringEntity(o1.toString(),"UTF-8"));
//        post.addHeader("Content-Type","application/json");
//        post.addHeader("Authorization",token);
//        httpResponse = httpclient.execute(post);
//        HttpEntity entityNow = httpResponse.getEntity();
//        if (entity != null) {
//            // 按指定编码转换结果实体为String类型
//            string = EntityUtils.toString(entityNow, HTTP.UTF_8);
//            jsonObject=JSON.parseObject(string);
//        }
//        inkScreenService.updateById(inkScreen);
//        return R.ok().data("data",jsonObject);
//    }
//    @ApiOperation("通过分组id获得水墨屏设备")
//    @PostMapping("getInkScrenn")
//    public R getInkScrenn(String deptId,String name,Integer page,Integer limit){
//        if(StringUtils.isEmpty(deptId) ){
//            return R.err().msg("请输入分组id");
//        }
//        if(StringUtils.isEmpty(page) ||StringUtils.isEmpty(limit)){
//
//                return R.err().msg("请输入分页信息");
//        }
//        QueryWrapper<InkScreen> inkScreenQueryWrapper = new QueryWrapper<>();
//        inkScreenQueryWrapper.eq(!StringUtils.isEmpty(deptId) ,"dept_id",deptId);
//        inkScreenQueryWrapper.eq(!StringUtils.isEmpty(name) ,"name",name);
//        Page<InkScreen> inkScreenPage = inkScreenService.getBaseMapper().selectPage(new Page<>(page, limit), inkScreenQueryWrapper);
//        return  R.ok().data("data",inkScreenPage);
//    }
//
//
//}
//
